package com.dxf.chepter01

/**
 * scala和java有着相同的数据类型,
 * 在scala中数据类型都是对象
 * scala中没有java的原生类型
 *
 *
 * Scala数据类型分两大类 AnyValue(值类型) 和AnyRel(引用类型)  --> AnyValue 和  AnyRel 都是对象
 *
 *                                                  Any
 *            AnyVal                                                                                                 AnyRef
 * Double               Unit                                                              Scala Collections              |             OtherScall Classes
 * Float                                                                                                            all java classes
 * Long                                                                                                                 |
 * Int                                                                                                                  |
 * Short                                                                                                                |
 * Byte                                                                                                 Null
 *
 * Nothing
 *
 *
 *
 *
 * Null  和 Nothing   -> 底层类
 *
 * 1 在Scala中的Any类 类似java中的Object
 * 2 Scala 一切皆为对象,分为两大类型 AnyVal和AnyRel 都是Any子类
 * 3 Null类  底层类,只有一个值 null
 * 4 Nothing 底层类,抛出异常
 *
 *
 *
 * ##########################################################################
 * ##########################################################################
 * Unit       -----------------> void
 * Null       ------->null
 * Any        -------> Object
 *
 *
 * ===============================================
 *
 *
 * Char 字符
 * 1 单引号 'a'
 * 2 可以给数字  码值表 unicode
 * 3 char 可以当做整数运算
 *
 *
 * ==============================================
 *
 * Boolean 布尔类型
 *  只允许 true 和 false
 *
 *
 * ================================================
 *
 * Unit 返回空 void
 * Null  空 null
 * Nothing 它是任何类型子类,当一个函数,我们确定没有正常的返回值,可以用Nothing来指定返回类型
 *          好处:
 *            我们可以把返回的值(异常) 赋给其它函数或者变量(兼容性好)
 *
 *
 *
 */
object T08_Scala数据类型2 {



  def main(args: Array[String]): Unit = {

    val dog2:Dog2 =null;
    println("ok~~~~1")
    //val char1:Char =null;  // 不能把空 隐式转换成 Char
    println("ok~~~~2")

    aaa

  }

  //Unit 返回空
  def sayHello: Unit ={

  }


    def aaa: Unit ={

      println(BigInt(2).pow(1024))
      println(BigInt(2).pow(1024).isInstanceOf[BigInt])



    }
}


class Dog2{

}
